package com.pds.web.app.controller;

import com.pds.common.core.controller.BaseController;
import com.pds.common.core.domain.R;
import com.pds.web.app.service.IAppMonitorTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

/**
 * app端检测任务相关
 */
@RestController
@RequestMapping("/appTask")
public class AppMonitorTaskController extends BaseController {

    @Autowired
    IAppMonitorTaskService monitorTaskService;

    /**
     * 首页待办查询
     * @param type week本周、month本月、year本年
     */
    @GetMapping("getTaskList")
    public R getTaskList(String type) throws Exception{
        Map map = monitorTaskService.getTaskList(type);
        return R.ok(map);
    }


    /**
     * 现场采样留痕
     * @param map
     *           -taskId 任务ID
     *           -place 位置经纬度
     *           -type 类型：1采样签到、2发起确认请求、3监督核对、4仪器选择、5采样签退
     *           -deviceIds 仪器id
     *           -fileId 拍照拍照id
     */
    @PostMapping("/sampling")
    public R sampling(@RequestBody Map map) throws Exception {
        monitorTaskService.sampling(map);
        return R.ok();
    }


    /**
     * 实验室分析、现场留痕
     * @param map
     *          -taskId 任务ID
     *          -place 位置经纬度
     *          -type 类型：1签到、2、添加仪器、3签退
     *          -deviceIds 仪器id
     *          -fileId 拍照照片id
     */
    @PreAuthorize("@ss.hasPermi('detection:task:analyst')")
    @PostMapping("/analysis")
    public R analysis(@RequestBody Map map) throws Exception {
        monitorTaskService.analysis(map);
        return R.ok();
    }
}
